Business software architectures (also referred to as business software frameworks), which can include enterprise resource planning systems, enterprise content management (ECM) systems, business process management (BPM) systems, product lifecycle management systems, and the like, can typically include one or more core software modules that provide a set of functionality defined by the vendor of the business software framework. In addition, the business software framework can include one or more interfaces or other capabilities to add functionality provided by a third party vendor (referred to herein as an external service provider), and can also include capabilities that allow customer organizations (e.g. an organization that purchases, licenses, or otherwise makes use of the business software framework in its business operations) to customize features of either or both of the core software modules and external service provider.
In some examples of business software frameworks, business data are presented using data structures, which can be referred to as data objects or business objects. Such data structures (referred to herein as business objects) can include a software model representing real-world elements of business transactions. For example, a business object can represent a business document such as a sales order, a purchase order, or an invoice. A business object can provide a framework for representing all or part of a business process, a business entity, or the like (e.g. a product, a business partner, a piece of equipment, a sales order, an employee, a customer or client of the customer organization, or the like). An instance of a business object can represent a concrete instance of the part of a business process, a business entity, or the like corresponding to the type of business object (e.g. a particular product, a particular business partner, a particular piece of equipment, a particular sales order, a particular employee, a particular customer of the customer organization, or the like). Such an instance includes both the software model and the data (e.g. master data, transactional data, or the like) related to the business object type and to the concrete instance of the entity represented by that business object type.
A business object can specify business logic, for example in the form of metadata or a meta-model, and can have any suitable structure appropriate for its functions. A business software framework vendor (e.g. a developer, software provider, or the like) can include one or many business objects relevant to a particular business scenario. The structure of the business objects can be based on the requirements of the business scenario. A customer deploying such a software solution might use pre-defined user interface features and other functionality supported by business objects provided as part of a core software platform or by an external service provider. However, a customer might also wish to customize one or more user interface features or other functionality to more closely model and support specific aspects of the customer's business operations. In a non-limiting example, a customer may wish to change a user interface associated with a sales order business object by adding a “Sub-Product Identifier” field next to an existing “Product Identifier” field.